Компоненты Zeos Database Objects Interbase SQL

ZEOS Database Objects Interbase SQL Components

## Содержание

- TZIbSQLDatabase - компонент подключения к базе данных Interbase SQL
- TZIbSQLMonitor - компонент отслеживания исходящих запросов Interbase SQL
- TZIbSQLQuery - компонент для выполнения запросов к Interbase SQL серверу
- TZIbSQLTable - компонент, представляющий SQL запрос виде TTable
- TZIbSQLTransact - компонент транзакт сервера

## TZIbSQLDatabase

Свойства | Методы | События

Компонента для представления подключения к базе данных. Для использования данной компоненты необходимо присутствие динамчески загружаемой библиотеки gds32.dll

Иерархия: TObject->TPersistent->TComponent->TZDatabase->TZIbSQLDatabase

Свойства TZIbSQLDatabase
Handle:TDirConnect | Дескриптор прямого подключения к Interbase SQL базе данных
Host:ShortString | Имя хоста, на котором расположена база данных
Database:ShortString | Имя базы данных
Login:ShortString | Имя пользователя, подключающегося к базе данных
Password:ShortString | Пароль для подключения к базе данных
LoginPromt:Boolean | При установке в значение true, выводится окно ввода имени и пароля пользователя
Port:ShortString | Номер порта для подключения к Interbase SQL серверу базы данных
SqlDialect:Word | Определяет версию диалекта SQL. Значение 1 - соответствует версиям SQL 4.0, 5.0, 5.5. Значение 3 - новый SQL синтаксис версии 6.0.
Connected:Boolean | Свойство подключенияк базе данных. При установке в значение true, происходит подключение к базе данных. То же самое делает метод Connect.
Params:TStrings | Установка дополнительных параметров для подключения к базе данных. Смотрите документацию к Interbase

Вернуться назад | Содержание

Методы TZIbSQLDatabase
procedure Connect() | Подключение к базе данных
procedure Disconnect() | Отключение от базы данных

Вернуться назад | Содержание

События TZIbSQLDatabase
procedure AfterConnect(Sender:TObject) | Событие происходящее после подключения к базе данных
procedure AfterDisconnect(Sender:TObject) | Событие происходящее после отключения от базы данных
procedure BeforeConnect(Sender:TObject) | Событие происходящее до подключения к базе данных
procedure BeforeDisconnect(Sender:TObject) | Событие происходящее до отключения от базы данных

Вернуться назад | Содержание

## TZIbSQLMonitor

События

Компонент для отслеживания исходящих SQL-запросов. Вызывает единственное событие OnMonitorEvent, в котором возвращается текст исходящего запроса и результат его обработки.

Иерархия: TObject->TPersistent->TComponent->TZMonitor->TZIbSQLMonitor

События TZIbSQLMonitor

procedure MonitorEvent(Sql, Result: String)

Событие происходящее после выполнения запроса. Передаваемые значения:

- Sql - текст исходящего запроса к базе данных Interbase SQL
- Result - строка результата, возвращаемая Interbase SQL-сервером, после выполнения запроса. С указаением ошибок выполнения запроса.

Вернуться назад | Содержание

## TZIbSQLQuery

Свойства | Методы | События

Компонент для выполнения SQL запросов к Interbase SQL серверу. Используется для пересылки выражений SQL запросов Interbase SQL серверу. Результаты обаботки запросов можно использовать с помощью стандартного TDataSource в виде табличного представления, при этом данные можно модифицировать, добавлять и удалять строки.

Иерархия: TObject->TPersistenet->TComponent->TDataSet->TZDataSet-> TZCustomInterbase SQLDataSet->TZIbSQLQuery

Свойства TZIbSQLQuery
Active:Boolean | Определяет, является ли запрос открытым. При установке в значение true, запрос передается серверу и открывается DataSet. Используется только для запросов типа 'SELECT'.
AutoCalcFields:Boolean | Определяет способ обработки вычисляемых полей
CachedUpdates:Boolean | Определяет, кэшируются ли изменения
DataBase:TZIbSQLDatabase | Определяет базу данных, к которой буду происходить SQL запросы
DataSource:TDataSource | Определяет DataSource, для обработки результатов запросов

ExtraOptions:TInterbase SQLOptions

Набор специальных параметров выполнения запросов:

- moStoreResult - выбирается способ получения результирующей выборки. Если значение установлено в true(по умолчанию), то выборка полностью передается клиенту и подключение освобождается для других запросов. Если же нет, то соединение с базой данных блокируется до завершения обработки запроса, однако требует гораздо меньше памяти.
- moUseGen - определят, будут ли использоваться генераторы или нет.

Filter:ShortString | Определяет выражение для фильтрации записи
Filtered:Boolean | Определяет, является ли активной фильтрация, определенная свойствами Filter или OnFilterRecord

FilterOptions:TFilterOptions

Управляет поведением фильтров

- foCaseInsensitive - признак чувствительности к регистру значений при сравнении
- foNoPartialCompare - признак разрешения неполного сравнения строк

LinkFields | С помощью мастера построения связанных полей, устанавливаются связи между TZIbSQLQuery

LinkOptions:TZLinkOptions

Устанавливаются параметры связывания полей

- loLinkRequery - признак требования наличия связи
- loCascadeUpdate - признак необходимости каскадного обновления данных в связанных полях запросов
- loCascadeDelete - признак необходимости каскадного удаления данных
- loAlwaysResync - признак постоянного синхронизирования данных

MasterSource:TDataSource | Устанавливает DataSource, поля которого будут являться ведущими в связывании полей

Options:TZDatabaseOptions

Дополнительные параметры

- doParamAsIs - признак обработки параметров в явном виде
- doHourGlass - признак вывода песочных часов при обработке запроса
- doQueryAllRecords - признак обработки всех записей
- doCheckNulls - признак проверки пустых значений
- doCalcDefault - призак вычислений по умолчанию

ParamCount:Word | Отражает число параметров для запроса SQL
Params:TParams | Определяет параметры для использования с SQL-запросом
ParamCheck:Boolean | Определяет использование параметров
RequestLive:Boolean | Указывает, является ли результат выполнения запроса редактируемым или нет.
RecordCount:LongInt | Возвращает число строк в DataSet

ShowRecordTypes

Параметры просмотра записей

- rtModified - признак вывода модифицированных записей
- rtInserted - признак вывода добавленных записей
- rtDeleted - признак вывода удаленных записей
- rtUnmodified - признак вывода немодифицированных записей

Sql:TStringList | Определяет выражения SQL для выполнения на сервере
Transaction:TZIbSQLTransact | Определяет Транзакт-сервер
UpdateObject:TZUpdateSQL | Определяет компонент UpdateSQL для использования с кэшированием изменений

Вернуться назад | Содержание

Методы TZIbSQLQuery
procedure ExecSql; | Выполнение запросов на изменение данных в базе данных, например: INSERT, DELETE и UPDATE
function RowsAffected: LongInt; | Возвращает значение, соответствующее количеству записей, обработанных с помощью процедуры ExecSQL
procedure SortInverse; | Инвертирование сортировки записей
procedure SortClear; | Удаление сортировки записей
procedure SortByField(FieldName: string); | Сортировка записей по полю FieldName
procedure SortDescByField(FieldName: string); | Сортировка по убыванию по полю FieldName

function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean;

Поиск записи, удовлетворяющей условия совпадения содержимого поля KeyFields со значением KeyValues. При проверка совпадения учитываются следующие опции Options:

- loCaseInsensitive - учитывать регистры символов
- loPartialKey - признак необходимости неполного сравнения значений

Возвращает значение true, если такая запись была найдена

function Lookup(const KeyFields: string; const KeyValues: Variant; const ResultFields: string): Variant; | Аналогично Locate, но возвращает значение поля ResultFields найденной записи
function IsSequenced: Boolean; | Признак использования номера записи для установки порядка следования записей
procedure ApplyUpdates; | Вызов сохранения всех кэшированных изменений в базу данных. Имеет место только в случае установке свойства CachedUpdates значения True.
procedure CommitUpdates; | Процедура сохранения всех изменений, находящихся в буфере кэша и его очистка.
procedure CancelUpdates; | Отмена всех изменений, находящихся в буфере кэша и возвращение DataSet в прежнее состояние
procedure RevertRecord; | Отменяет все изменения для текущей записи.
function ParamByName(const Value: string): TParam; | Получить доступ к параметру с именем Value.

function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream;

Создает поток для BLOB-поля Field, в соответствии с параметрами описаными в Mode

- bmRead - использование потока для чтения из BLOB поля
- bmWrite - использование потока для записи в BLOB поле
- bwReadWrite - использование потока для модификации содержимого BLOB поля

procedure SaveToStream(Stream: TStream); | Сохранение содержимого Dataset в уже созданный поток Stream
procedure LoadFromStream(Stream: TStream); | Перенос данных из потока Stream в Dataset
procedure SaveToFile(FileName: string); | Сохранение содержимого Dataset в файл FileName
procedure LoadFromFile(FileName: string); | Перенос данных из файла FileName в Dataset

Вернуться назад | Содержание

События TZIbSQLQuery
procedure AfterCancel(DataSet: TDataSet); | События вызываемое после отмены изменений внесенных в базу данных
procedure AfterClose(DataSet: TDataSet); | События вызываемое после закрытия запроса
procedure AfterDelete(DataSet: TDataSet); | События вызываемое после удаления записи
procedure AfterEdit(DataSet: TDataSet); | События вызываемое после редактирования записи
procedure AfterInsert(DataSet: TDataSet); | События вызываемое после добавления записи
procedure AfterOpen(DataSet: TDataSet); | События вызываемое после открытия запроса
procedure AfterPost(DataSet: TDataSet); | События вызываемое после внесения изменений в базу данных
procedure AfterScroll(DataSet: TDataSet); | События вызываемое после после перехода на другую запись
procedure BeforeCancel(DataSet: TDataSet); | События вызываемое до отмены изменений внесенных в базу данных
procedure BeforeClose(DataSet: TDataSet); | События вызываемое до закрытия запроса
procedure BeforeDelete(DataSet: TDataSet); | События вызываемое до удаления записи
procedure BeforeEdit(DataSet: TDataSet); | События вызываемое до редактирования записи
procedure BeforeInsert(DataSet: TDataSet); | События вызываемое до добавления записи
procedure BeforeOpen(DataSet: TDataSet); | События вызываемое до открытия запроса
procedure BeforePost(DataSet: TDataSet); | События вызываемое до внесения изменений в базу данных
procedure BeforeScroll(DataSet: TDataSet); | События вызываемое до перехода на другую запись
procedure ApplyUpdateError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); | Происходит при ошибке примениея всех изменений находящихся в кэше
procedure CalcFields(DataSet: TDataSet); | Происходит , когда вычиcляемые поля нуждаются в обновлении
procedure DeleteError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); | Происходит при ошибке удаления записи
procedure EditError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); | Происходит при ошибке редактирования записи
procedure FilterRecord(DataSet: TDataSet;var Accept: Boolean); | Событие вызываемое для проверки, удовлетворяет текущая запись условия фильтрации или нет
procedure NewRecord(DataSet: TDataSet); | Происходит при создании новой записи
procedure PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); | Происходит при ошибке сохранения изменений в текущей записи
procedure UpdateRecord(DataSet: TDataSet; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction); | Происходит для каждой строки, сохраненной обращением к ApplyUpdates

Вернуться назад | Содержание

## TZIbSQLTable

Компонент для обработки результатов выборки данных Interbase SQL сервера в виде таблицы.

Иерархия: TObject->TPersistenet->TComponent->TDataSet->TZDataSet-> TZCustomInterbase SQLDataSet->TZIbSQLTable

Не имеет никаких принципиальных отличий от TZIbSQLQuery, за исключением некоторых особенностей:

- Отсутствуют свойства Params, ParamCheck, ParamCount
- Отсутствует свойство DataSource
- Вместо свойства SQL введено свойство TableName, в котором указывается имя таблицы базы данных. Фактически при открытии таблицы, происходит передача запроса серверу вида:
  "SELECT * FROM TableName"
- Вместо свойства RequestLive введено аналогичное свойство ReadOnly, отвечающее за разрешение на редактирование содержимого таблицы

Вернуться назад | Содержание

## TZIbSQLTransact

Свойства | Методы | События

Компонент для работы с транзакциями сервера Interbase SQL.

Иерархия: TObject->TPersistent->TComponent->TZTransact->TZIbSQLTransact

Свойства TZIbSQLTransact
AutoCommit:Boolean | При установке в значение true после выполнения запроса автоматически осуществляется запись изменений. При установке свойства в false необходимо вызвать Commit или Rollback самостоятельно.
Connected:Boolean | Индикатор подключения к базе данных
Database:TZIbSQLDatabase | Указатель на базу данных для которой осуществляется сервис транзакций

Options:TZTransactOptions

Набор опций:

- toHourGlass - признак вывода песочных часов при работе транзакций

Params:TStrings | Установка дополнительных параметров для подключения к базе данных. Смотрите документацию к Interbase

Вернуться назад | Содержание

Методы TZIbSQLTransact
procedure Connect | Осуществление подключения к серверу
procedure Disconnect | Осуществление отключения от сервера
procedure Commit | Выполнение всех изменений находящихся в буфере транзакций и его очистка
procedure RollBack | Откат транзакции
procedure DoApplyUpdates | Вызов сохранения всех изменений, находящихся в буфере транзакций

Вернуться назад | Содержание

События TZIbSQLTransact
procedure OnApplyUpdates(Sender:TObject) | Событие происходящее во время применения всех изменений находящихся в буфере транзакций
procedure OnCommit(Sender:TObject) | Событие применения изменений из буфера транзакций и его очистки
procedure OnDataChange(Sender:TObject) | Событие изменения данных
procedure OnRollBack(Sender:TObject) | Событие отката транзакции

Вернуться назад | Содержание